package service

type Options struct {
	// 服务名称
	Alias string
	// 目录地址
	Dir string
	// 在API模式下默认的后端名称
	ApiDefaultServerName string
	// 文件地址
	WrapFiles []*WrapFile
	// 说明
	Comments []string
}

func NewOptions(serviceName, serviceArg string) *Options {
	c := &Options{
		Alias:    serviceName,
		Dir:      serviceArg,
		Comments: defaultComments(),
	}
	return c
}

func (c *Options) AddWrapFile(f ...*WrapFile) {
	c.WrapFiles = append(c.WrapFiles, f...)
}

func defaultComments() []string {
	return []string{
		"======================说明===========================",
		"该工具为leon定制工具,旨在提高开发效率",
		"工具主要功能如下：",
		"1、快速创建项目目录结构。",
		"2、规范开发目录。",
		"\n",
		"======================操作============================",
		"接下来直接使用代码中的 make proto 来自动生成基于 proto 的相关文件",
		"具体操作如下：",
		"1、make proto ( window 下要修改 docker 命令)",
		"2、执行 go mod tidy",
		"3、go run main.go 检查是否能够启动成功",
		"4、查看注册中心服务是否存在（地址默认：127.0.0.1:8500）",
		"注意：你也可以在本机安装 proto ，protoc-gen-go，protoc-gen-micro 运行 protoc 进行生成。",
		"\n",
		"=================== 后续 ========================",
		"如遇到问题请联系leon@163.com",
	}
}
